package com.gxa.zhonglong.service;

import com.gxa.zhonglong.exception.BusinessException;
import com.gxa.zhonglong.pojo.Storage;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @auther JJuventus
 * @date 2021/10/29 10:27
 */

public interface StorageService {
    /**
     * 查询库存信息的方法
     * @param storageJewelryCode 商品编码
     * @param storageJewelryName 商品名称
     * @param storageStore 门店名称
     * @param page 页数
     * @param size 每页记录数
     * @return 库存的列表
     */
    List<Storage> select(String storageJewelryCode, String storageJewelryName, String storageStore, Integer page, Integer size);

    /**
     * 库存统计全查询的方法
     * @param storageJewelryCode 商品编码
     * @param storageJewelryName 商品名称
     * @param storageStore 门店名称
     * @return
     */
    List<Storage> selectAll(String storageJewelryCode, String storageJewelryName, String storageStore);

    /**
     * 修改库存的方法
     * @param storage 库存对象
     */
    void update(Storage storage) throws BusinessException;

    /**
     * 添加库存统计的方法
     * @param storage 库存对象
     * @return
     */
    Integer add(Storage storage);
    /**
     * 根据id返回商品重量的方法
     * @param storageId 库存id
     * @return double
     */
    Double selectByWeight(String storageId);
    /**
     * 根据id返回商品成本的方法
     * @param storageId 库存id
     * @return double
     */
    Double selectByCost(String storageId);
    /**
     * 根据id返回商品数量的方法
     * @param storageId 库存id
     * @return int
     */
    Integer selectByCount(String storageId);

    void delete(String num);

    void updateSAC(String shop,String counter,String num);

}
